xenpaging: add helper function for unlinking pagefile
authorOlaf Hering <olaf@aepfle.de>
Fri, 10 Jun 2011 08:47:25 +0000 (10:47 +0200)
committerOlaf Hering <olaf@aepfle.de>
Fri, 10 Jun 2011 08:47:25 +0000 (10:47 +0200)
Unlink pagefile in the signal handler and also in the exit path.
This does not leave a stale pagefile if an error occoured.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
tools/xenpaging/xenpaging.c

index 2af3a05ec70bba59d8f5f05169afce3705b24dce..72daaad164d0fbe42a0988e664e1c6d14d49df2d 100644 (file)
 
 static char filename[80];
 static int interrupted;
-static void close_handler(int sig)
+
+static void unlink_pagefile(void)
 {
-    interrupted = sig;
     if ( filename[0] )
+    {
         unlink(filename);
+        filename[0] = '\0';
+    }
+}
+
+static void close_handler(int sig)
+{
+    interrupted = sig;
+    unlink_pagefile();
 }
 
 static int xenpaging_mem_paging_flush_ioemu_cache(xenpaging_t *paging)
@@ -716,6 +725,7 @@ int main(int argc, char *argv[])
 
  out:
     close(fd);
+    unlink_pagefile();
     free(victims);
 
     /* Tear down domain paging */